草庐IT

TypeScript算法题实战——剑指 Offer篇(1)

全部标签

javascript - 绘制具有厚度/宽度的线的算法

我正在寻找一种绘制具有一定粗细的线条的快速算法。线条不必抗锯齿,速度优先。像这样相当简单的东西就足够了:用例是一个Javascript游戏,蠕虫会留下痕迹。(HTML5Canvas明显画线,但是getImageData()很慢,碰撞检测也很慢)在过去的2.5小时内,我找不到执行此操作的任何东西。是的,我知道关于SO的问题几乎相同,实际上有很多,但没有一个有可行的解决方案。我目前唯一的解决方案是沿着Bresenham线画圆,这不是很有效。一些代码(伪代码、JS或至少一篇文章的链接)会很棒。 最佳答案 http://members.ch

javascript - 在 typescript/angular2 中使用 openlayer3

我有一个使用openLayer3的Javascript代码。我需要在angular2项目中使用Typescript实现此代码。有人知道如何将openlayer与angular2/Typescript一起使用吗?非常感谢,约翰 最佳答案 1。选项A(使用AngularCLI)在您的.angular-cli.json(位于您的项目根目录)中添加Openlayers3:..."styles":["../node_modules/openlayers/dist/ol.css"],"scripts":["../node_modules/ope

javascript - 在不转换异步函数的情况下编译 typescript

有没有办法只使用TypeScript编译器来删除类型注释,而不是转译异步函数?像{target:'esInfinite'}选项之类的东西?原因是:有些浏览器已经支持异步功能,所以我希望有一个不影响这些功能的构建目标。示例输入:asyncfunctionfoo(a:number):Promise{}示例输出:asyncfunctionfoo(a){} 最佳答案 在您的tsconfig.json中,将您的目标更改为ES2017,然后它将保留async/await。{"compilerOptions":{....."target":"ES

javascript - 在 Angular 2/TypeScript 中使用 Google API

这里之前的一个问题让我(希望)大部分时间都能正常工作,但我似乎无法从TypeScript获得GoogleAPI。我基本上遵循这个例子:https://developers.google.com/api-client-library/javascript/samples/samples我没有看到错误,只是没有触发运行API调用的方法。我已经安装了gapi和gapi.auth的类型。initClient()不会抛出任何错误,它似乎永远不会完成。当前用户以Google用户身份登录,但尚未获得调用API的授权。那是我接下来要处理的事情,但现在甚至都没有打电话。正如您在下面看到的,我在未被调用的

javascript - 什么是最好的 javascript 自动建议搜索算法

假设我有一个对象:varnames=["john","jane","al","mary","zane"...1000+Names]我想创建一个自动建议来搜索这些名称。最有效的方法是什么?我读过创建一个trie或三元数据结构是最好的,但我不确定如何在js中实现这些。有什么想法吗? 最佳答案 trie将是一个很好的解决方案。您的数据集看起来像这样:{"j":{"a":["jacob","jane",..],{"o":["john","joesph",..],..};您将逐个字符地索引尽可能深的层次(以便最内层的数组可能有20-30个条目

javascript - 自动放置流程图形状的算法

我的团队需要使用HTML5Canvas或D3库(或其他更合适的工具,欢迎提出建议)用JavaScript构建流程图生成器。流程图将从JSON文档中定义的有向图生成。我的问题如下:我们可以使用哪种标准算法来促进流程图中形状(图中节点)的自动放置,以最大限度地减少重叠连接的数量及其长度? 最佳答案 对于这类问题,力导向算法并不是最优的。我宁愿建议使用分层图绘制(http://en.wikipedia.org/wiki/Layered_graph_drawing)算法。这种算法的一个很好的JS实现是Dagre(https://github

javascript - 我如何在 typescript 中声明一个 'monkey patched' 原型(prototype)

我正在为webgl-utils.js创建一个d.ts文件来自谷歌我对最后一行中的一个全局对象中的方法“猴子修补”有疑问(我认为这是正确的术语)问题行如下:/***ProvidesrequestAnimationFrameinacrossbrowserway.*/window.requestAnimFrame=(function(){returnwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimation

javascript - Facebook 的 react.js——对象不是函数

继续Facebook的read.jstutorial,我得到这个错误:UncaughtTypeError:Property'CommentList'ofobject[objectObject]isnotafunction其实react.js自己的examplespage有:UncaughtTypeError:objectisnotafunction谁能解释一下正确的用法?教程进度导入以下两个javascripts:http://fb.me/react-0.4.1.jshttp://fb.me/JSXTransformer-0.4.1.jsHTML是一行:还有javascript或者更确

javascript - Typescript 错误引用 _this

我尝试在TypeScript中为String.Prototype定义一些属性:Object.defineProperty(String.prototype,'test',{value:()=>{console.log("thisisatestovertext"+this);}})在javaScript原型(prototype)中,this指调用方法的对象(在本例中为字符串值)。但是文件的编译输出是:var_this=this;Object.defineProperty(String.prototype,'test',{value:function(){console.log("this

javascript - 在 Typescript 中,从 Typeings 导入时如何使用 Javascript 模块

使用mgechev'sangular2-seed,我正试图掌握Angular2和一个新项目的typescript,但遇到了这个问题。我想在组件中使用数字,所以我:使用npminstallnumeral安装Numeral使用typingsinstalldt~numeraljs--global--save安装了数字类型在我的组件中添加了import{numeral}from'/typings/globals/numeraljs';添加了代码行:letnum:Number=newNumber(numeral().unformat(text));到目前为止,还不错。一切似乎都可以正常进行。直到